package com.xd.core.debt.dto;

import com.xd.common.base.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 债权管理分页查询条件参数
 * </p>
 *
 * @author ZCH
 * @since 2025-02-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class DebtQuery extends PageQuery implements Serializable {

    @ApiModelProperty(value = "客户名称")
    private String customerName;

    @ApiModelProperty(value = "客户手机号")
    private String phone;

    @ApiModelProperty(value = "订单状态  1:还款中 2:已结清 3:已逾期")
    private List<Integer> status;

    @ApiModelProperty(value = "债转状态  1:未转让 2:转让中 3:已转让")
    private List<Integer> debtConversionStatus;

    @ApiModelProperty(value = "放款日期")
    private String disbursementDateMin;

    @ApiModelProperty(value = "放款日期")
    private String disbursementDateMax;

    @ApiModelProperty(value = "最近还款日期最小值")
    private String latestRepaymentDateMin;

    @ApiModelProperty(value = "最近还款日期最大值")
    private String latestRepaymentDateMax;

    @ApiModelProperty(value = "公证执行书申请状态 0:未办理 1:办理申请中 2:办理完成")
    private List<String> certificationStatus;

    @ApiModelProperty(value = "贷款用途")
    private String loanPurpose;

    @ApiModelProperty(value = "借款方式 0:等额本金 1:等额本息 2:等本等息 3:到期还本付息 4:先息后本")
    private List<String> loanMethod;

    @ApiModelProperty(value = "放款金额最小值")
    private String outAmountMin;

    @ApiModelProperty(value = "放款金额最大值")
    private String outAmountMax;

    @ApiModelProperty(value = "剩余还款期数最小值")
    private String remainingRepaymentPeriodsMin;

    @ApiModelProperty(value = "剩余还款期数最大值")
    private String remainingRepaymentPeriodsMax;

    @ApiModelProperty(value = "企业id")
    private Integer companyId;

    @ApiModelProperty(value = "投资机构名称")
    private String companyName;

    @ApiModelProperty(value = "付款通道(1-通道一，2-通道二)")
    private String payPass;
}
